/* eslint-disable */
/**系统参数配置的一些配置
 */
const parameterConfig = {
  //耗材编辑的配置
  matr_edit_config: {
    inputType: 'table', //目前只实现了table
    rowDataDict: 'common_matr_edit', //行数据数据字典
    rowDataName: 'supplierName',  //行数据列字段
    rowDataLabel: '字段', //行数据列名称
    columns: [
      {
        name: 'flagEnabled',
        label: '是否启用编辑',
        type: 'select',
        dict: 'common_yes_no',
      },
      {
        name: 'flagUpdateStock',
        label: '更新相关库存',
        type: 'select',
        dict: 'common_yes_no',
      }
    ]
  },
  //默认查询时间编辑的配置
  default_query_config: {
    inputType: 'table',
    //输入提示信息
    inputMsg: '已过滤查询类型是日期区间的数据视图。配置默认天数:不存在或者为0则不启用，1：查询当天，2：查询最近两天，n:查询从n天前到当天',
    tableFlag: 'default_query_config', //表格标识
    rowDataName: 'view_key',
    rowDataLabel: '视图标识',

    //数据获取函数
     rowDatafun: async (that) => {
      let currentDataviewList = []
       let dataviewMap = that.utils.getDataviewConfigByKey(that,'all')
       if (dataviewMap) {
         Object.keys(dataviewMap).forEach(key => {
           let item = dataviewMap[key]
           if(item.viewType != 'import' && item.viewType != 'select' && item.viewType != 'sync'){
             let rowData = {}
             rowData[item.viewKey] = item.viewKey
             rowData.view_key = item.viewKey
             rowData.view_name = item.viewName
             //配置时间字段 数据字典，字段筛选类型为日期区间的
             let dictList = []

             if (item.columnsArr) {
               item.columnsArr.filter(column => !column.hidden && column.queryType && column.queryType == 'dateArea').forEach(coumn2 => {
                 let columnNew = {
                   key: coumn2.name,
                   value: coumn2.name,
                   label: coumn2.title
                 }
                 dictList.push(columnNew)
               })
             }
             if (dictList.length < 1) return true
             currentDataviewList.push(rowData)
           }
         })
       }
      return currentDataviewList
    },
    columns: [
      {
        name: 'view_name',
        label: '视图名称',
      },
      {
        name: 'config_date',
        label: '配置时间字段',
        type: 'selectWithData',

        //数据字段获取方法
        dictDataFun: (column, rowData ,that) => {

          let dataviewMap = that.utils.getDataviewConfigByKey(that,rowData.view_key)
          //配置时间字段 数据字典，字段筛选类型为日期区间的
          let dictList = []
          if (!dataviewMap || !dataviewMap.columnsArr) return []
          dataviewMap.columnsArr.filter(column => !column.hidden && column.queryType && column.queryType == 'dateArea').forEach(coumn2 => {
            let columnNew = {
              key: coumn2.name,
              value: coumn2.name,
              label: coumn2.title
            }
            dictList.push(columnNew)
          })
          return dictList
        }
      },
      {
        name: 'config_days',
        label: '配置默认天数',
        type: 'inputNumber',

        //不传则默认为 0
        min:  0,
        //不传则默认为 9个9
        max:  999999,
      }
    ],

    //工具栏按钮
    toolButtons: [
      {
        text: '【配置时间字段】全部设置为第一个',
        fun: (button, that) => {
          that.$confirm('确认将【配置时间字段】全部设置为第一个么?', '提示', {
            confirmButtonText: '确定',
            cancelButtonText: '取消',
            type: 'warning'
          }).then(() => {
            that.tableData.forEach(dataRow => {

              let dataviewMap = that.utils.getDataviewConfigByKey(that,dataRow.view_key)
              //配置时间字段 数据字典，字段筛选类型为日期区间的
              let dictList = []
              if (dataviewMap && dataviewMap.columnsArr) {
                dataviewMap.columnsArr.filter(column => column.queryType && column.queryType == 'dateArea').forEach(coumn2 => {
                  let columnNew = {
                    key: coumn2.name,
                    value: coumn2.name,
                    label: coumn2.title
                  }
                  dictList.push(columnNew)
                })
              }

              if (dictList && dictList.length > 0) {
                that.$set(dataRow, 'config_date',dictList[0].key )
              }
            })
          }).catch(() => {
          });
        }
      },
      {
        text: '【配置默认天数】全部设置为',
        fun: (button, that) => {
          that.$prompt('请输入需要设置的天数', '提示', {
            confirmButtonText: '确定',
            cancelButtonText: '取消',
            inputPattern: /^[0-9]\d*$/,
            inputErrorMessage: '请输入正整数'
          }).then(({ value }) => {
            that.tableData.forEach(dataRow => {
              that.$set(dataRow, 'config_days',value )
            })
          }).catch(() => {
          });
        }
      }
    ]
  },
}

export default parameterConfig
